package com.produce.user.entity;

import com.common.dao.base.entity.QueryBase;
import com.produce.user.util.UuidGenId;
import tk.mybatis.mapper.annotation.KeySql;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.List;

/**
 * 类描述：组织架构实体类
 *
 * @author linzf
 */
@Table(name = "t_organizational_structure")
public class OrganizationalStructure extends QueryBase {

    /**
     * 组织架构唯一标识
     */
    @Id
    @Column(name = "orgId")
    @KeySql(genId = UuidGenId.class)
    private String orgId;
    /**
     * 组织架构名字
     */
    @Column(name = "orgName")
    private String orgName;
    /**
     * 组织架构编码
     */
    @Column(name = "orgCode")
    private String orgCode;
    /**
     * 组织架构图片地址
     */
    @Column(name = "orgImg")
    private String orgImg;
    /**
     * 组织架构负责人
     */
    @Column(name = "orgContacts")
    private String orgContacts;
    /**
     * 联系电话
     */
    @Column(name = "contactsPhone")
    private String contactsPhone;
    /**
     * 机构编制
     */
    @Column(name = "orgNum")
    private Integer orgNum;
    /**
     * 机构在编人员
     */
    @Column(name = "orgPayroll")
    private Integer orgPayroll;
    /**
     * 创建时间
     */
    @Column(name = "crtDate")
    private Long crtDate;
    /**
     * 创建人唯一标识
     */
    @Column(name = "crtUserId")
    private String crtUserId;
    /**
     * 创建人
     */
    @Column(name = "crtUser")
    private String crtUser;
    /**
     * 父架构唯一标识
     */
    @Column(name = "orgParentId")
    private String orgParentId;
    /**
     * 父架构名称
     */
    @Column(name = "orgParentName")
    private String orgParentName;
    @Transient
    private List<OrganizationalStructure> children;

    public List<OrganizationalStructure> getChildren() {
        return children;
    }

    public void setChildren(List<OrganizationalStructure> children) {
        this.children = children;
    }

    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public String getOrgCode() {
        return orgCode;
    }

    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }

    public String getOrgImg() {
        return orgImg;
    }

    public void setOrgImg(String orgImg) {
        this.orgImg = orgImg;
    }

    public String getOrgContacts() {
        return orgContacts;
    }

    public void setOrgContacts(String orgContacts) {
        this.orgContacts = orgContacts;
    }

    public String getContactsPhone() {
        return contactsPhone;
    }

    public void setContactsPhone(String contactsPhone) {
        this.contactsPhone = contactsPhone;
    }

    public Integer getOrgNum() {
        return orgNum;
    }

    public void setOrgNum(Integer orgNum) {
        this.orgNum = orgNum;
    }

    public Integer getOrgPayroll() {
        return orgPayroll;
    }

    public void setOrgPayroll(Integer orgPayroll) {
        this.orgPayroll = orgPayroll;
    }

    public Long getCrtDate() {
        return crtDate;
    }

    public void setCrtDate(Long crtDate) {
        this.crtDate = crtDate;
    }

    public String getCrtUserId() {
        return crtUserId;
    }

    public void setCrtUserId(String crtUserId) {
        this.crtUserId = crtUserId;
    }

    public String getCrtUser() {
        return crtUser;
    }

    public void setCrtUser(String crtUser) {
        this.crtUser = crtUser;
    }

    public String getOrgParentId() {
        return orgParentId;
    }

    public void setOrgParentId(String orgParentId) {
        this.orgParentId = orgParentId;
    }

    public String getOrgParentName() {
        return orgParentName;
    }

    public void setOrgParentName(String orgParentName) {
        this.orgParentName = orgParentName;
    }
}
